package com.lsh;

import com.alibaba.dubbo.config.spring.context.annotation.EnableDubbo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.hystrix.EnableHystrix;

/**
 * @author ：LiuShihao
 * @date ：Created in 2021/3/8 10:26 上午
 * @desc ：
 *
 * 如果yml配置了包扫描dubbo.scan.base-packages，那么主启动类不不用加上@EnableDubbo注解了
 * SpringBoot整合Dubbo的三种方式
 * 1）、第一种方式：使用@Service注解暴露服务，使用@Reference注解引用服务
 * 2）、第二种方式：保留dubbo.xml方式
 * 3) 、第三种方式：Java Config方法：通过java配置类（在一个java类上使用@Configuration注解）的方式配置注册中心，通信规则，服务提供者信息，服务消费者信息等
 * 对于Dubbo与SpringBoot整合的三种配置方式的本质上在使用Spring的方式上本质上是一样的
 *
 */
//开启基于注解的Dubbo功能
//@EnableDubbo
@EnableDubbo(scanBasePackages = {"com.lsh.service.*"})
//使用dubbo.xml方式需要引入dubbo.xml文件
//@ImportResource(locations = "classpath:provider.xml")
@EnableHystrix
@SpringBootApplication
public class DubboProviderApplication {
    public static void main(String[] args) {
        SpringApplication.run(DubboProviderApplication.class);
    }
}
